#leetcode题目43：字符串相乘
#难度：中等
#时间复杂度：O(n^2)
#空间复杂度：O(1)
#方法：模拟

#注意：不能直接将字符串转换为整数,或用python自带的biginteger

#123*456=
#3*6+3*50+3*400+
# 20*6+20*50+20*400+
# 100*6+100*50+100*400


class Solution:
    def multiply(self, num1: str, num2: str) -> str:
        ans=0
        f1=1
        for i in range(len(num1)-1,-1,-1):
            n1=int(num1[i])*f1
            f2=1
            for j in range(len(num2)-1,-1,-1):
                n2=int(num2[j])*f2
                ans+=n1*n2
                f2*=10
            f1*=10
        return str(ans)

#测试数据
num1="2"
num2="3"
#预期输出：6
solution=Solution()
print(solution.multiply(num1,num2))

num1="123"
num2="456"
#预期输出：56088
solution=Solution()
print(solution.multiply(num1,num2))
